FB vnoreny select
Otázka od: Jaroslav Uher
25. 11. 2002 13:10
Ahoj,
potreboval bych udelat vnoreny select z treti tabulky, ale nedari se
Jedna se mi (jen o zjisteni) poctu zaznamu K.KOD_OSOBY v te 3
tabulce
select
K.PRIJMENI || ' '||K.JMENO ||' '||K.TITUL AS PRIJMENI,
K.OBEC,K.TEL_DOMU,
M.MAKLER,
K.ULICE,K.KOD_OSOBY,K.ID
/** (select COUNT(*) from PRIPADY P where (P.DEL = 0) AND
(P.KOD_KONT = K.KOD_OSOBY)) **/
from KONTAKTY K
JOIN MAKLERI M
ON (M.KOD_MK = K.FIRST_USER)
where (K.DEL = 0)
Muze mi nekdo poradit, hlavne jestli je to takto vubec resitelne,
dekuji a preji hezky den
Jarek Uher
Odpovedá: Macko Martin
25. 11. 2002 14:21
Na prvni pohled (nepouzivam FB ale MS SQL) ti tam chybi carka za K.ID
(mozna je to ale nasledek toho zakomentovani)
Co presne nefunguje ?
-----Original Message-----
From: Jaroslav Uher [mailto:moravia@mbox.vol.cz]
Sent: Monday, November 25, 2002 12:21 PM
To: delphi-l@clexpert.cz
Subject: FB vnoreny select
Ahoj,
potreboval bych udelat vnoreny select z treti tabulky, ale nedari se
Jedna se mi (jen o zjisteni) poctu zaznamu K.KOD_OSOBY v te 3
tabulce
select
K.PRIJMENI || ' '||K.JMENO ||' '||K.TITUL AS PRIJMENI,
K.OBEC,K.TEL_DOMU, M.MAKLER, K.ULICE,K.KOD_OSOBY,K.ID
/** (select COUNT(*) from PRIPADY P where (P.DEL = 0) AND
(P.KOD_KONT = K.KOD_OSOBY)) **/
from KONTAKTY K
JOIN MAKLERI M
ON (M.KOD_MK = K.FIRST_USER)
where (K.DEL = 0)
Muze mi nekdo poradit, hlavne jestli je to takto vubec resitelne,
dekuji a preji hezky den
Jarek Uher
Odpovedá: Karel Rys
25. 11. 2002 14:47
> potreboval bych udelat vnoreny select z treti tabulky, ale nedari se
> Jedna se mi (jen o zjisteni) poctu zaznamu K.KOD_OSOBY v te 3
> tabulce
>
> select
> K.PRIJMENI || ' '||K.JMENO ||' '||K.TITUL AS PRIJMENI,
> K.OBEC,K.TEL_DOMU, M.MAKLER, K.ULICE,K.KOD_OSOBY,K.ID
> /** (select COUNT(*) from PRIPADY P where (P.DEL = 0) AND
> (P.KOD_KONT = K.KOD_OSOBY)) **/
> from KONTAKTY K
> JOIN MAKLERI M
> ON (M.KOD_MK = K.FIRST_USER)
> where (K.DEL = 0)
Ahoj,
jedine, co me napada, jestli neni nutne v tom vnorenem SELECTu napsat
COUNT(p.*), nebo
COUNT(p.NejakePole). Jinak mi to pripada spravne, za ten SELECT jeste obvykle
pisu neco jako AS
POCET apod...
Karel Rys
Odpovedá: Jiri Wendl, KSH-Data
25. 11. 2002 15:10
>Ahoj,
>potreboval bych udelat vnoreny select z treti tabulky, ale nedari se
>
>Jedna se mi (jen o zjisteni) poctu zaznamu K.KOD_OSOBY v te 3
>tabulce
Ahoj zkus tohle, ale pisu to zhlavy tak sorry za chybicky
select
K.PRIJMENI || ' '||K.JMENO ||' '||K.TITUL AS PRIJMENI,
K.OBEC,K.TEL_DOMU,
M.MAKLER,
K.ULICE,K.KOD_OSOBY,K.ID,
Count(P.KOD_KONT)
from KONTAKTY K
JOIN MAKLERI M ON (M.KOD_MK = K.FIRST_USER)
LEFT JOIN PRIPADY P ON (P.KOD_KONT = K.KOD_OSOBY)
where (K.DEL = 0) AND (P.DEL = 0)
GROUP BY
K.PRIJMENI ,K.JMENO ,K.TITUL,
K.OBEC,K.TEL_DOMU,
M.MAKLER,
K.ULICE,K.KOD_OSOBY,K.ID
Preji hodne zdaru
Jirka
Odpovedá: Jaroslav Uher
25. 11. 2002 18:30
Ahoj,
On 25 Nov 2002 at 13:58, Karel Rys wrote:
> > potreboval bych udelat vnoreny select z treti tabulky, ale nedari se
> > Jedna se mi (jen o zjisteni) poctu zaznamu K.KOD_OSOBY v te 3
> > tabulce
> >
> > select
> > K.PRIJMENI || ' '||K.JMENO ||' '||K.TITUL AS PRIJMENI,
> > K.OBEC,K.TEL_DOMU, M.MAKLER, K.ULICE,K.KOD_OSOBY,K.ID
> > /** (select COUNT(*) from PRIPADY P where (P.DEL = 0) AND
> > (P.KOD_KONT = K.KOD_OSOBY)) **/
> > from KONTAKTY K
> > JOIN MAKLERI M
> > ON (M.KOD_MK = K.FIRST_USER)
> > where (K.DEL = 0)
>
> jedine, co me napada, jestli neni nutne v tom vnorenem SELECTu napsat
> COUNT(p.*), nebo COUNT(p.NejakePole). Jinak mi to pripada spravne, za
> ten SELECT jeste obvykle pisu neco jako AS POCET apod...
>
> Karel Rys
diky moc, mas pravdu, melo by to vypadat takto
(select COUNT(P.KOD_PP) from PRIPADY P where (P.DEL = 0) AND
(P.KOD_KONT = K.KOD_OSOBY)) AS POCET
a mile mne prekvapila i rychlost celeho vyberu.
Jarek